package com.jn.algorithm.拼多多.q2020.question2;

import java.util.*;

/**
 * @author 江南大学1033190417
 * @date 2022/5/19 23:51
 */
public class Main {
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int T=scanner.nextInt();
        int[] arr=new int[T];
        for(int i=0;i<T;i++){
            arr[i]=Integer.parseInt(scanner.next());
        }
        for(int i=0;i<T;i++){
            print(arr[i]);
        }
    }


    public static void print(int n){
        List<List<Integer>> zuhe=new ArrayList<>();
        boolean[] used=new boolean[n];
        Deque<Integer> path=new ArrayDeque<>();
        dfs(zuhe,used,path,n);
        int max=Integer.MIN_VALUE;
        int min=Integer.MAX_VALUE;
        for(List<Integer> l:zuhe){
            min=Math.min(F(l,n),min);
            max=Math.max(F(l,n),max);
        }
        System.out.println(min+" "+max);
    }

    public static void dfs(List<List<Integer>> zuhe,boolean[] used,Deque<Integer> path,int n){
        if(path.size()==n){
            zuhe.add(new ArrayList(path));
            return;
        }
        for(int i=1;i<=n;i++){
            if(used[i-1]){
                continue;
            }
            used[i-1]=true;
            path.addLast(i);
            dfs(zuhe,used,path,n);
            used[i-1]=false;
            path.removeLast();
        }
    }

    public static int F(List<Integer> arr,int cur){
        if(cur==1){
            return arr.get(0);
        }
        else{
            return Math.abs(F(arr,cur-1)-arr.get(cur-1));
        }
    }
}
